{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Regressão Linear Simples - Trabalho\n",
    "\n",
    "## Estudo de caso: Seguro de automóvel sueco\n",
    "\n",
    "Agora, sabemos como implementar um modelo de regressão linear simples. Vamos aplicá-lo ao conjunto de dados do seguro de automóveis sueco. Esta seção assume que você baixou o conjunto de dados para o arquivo insurance.csv, o qual está disponível no notebook respectivo.\n",
    "\n",
    "O conjunto de dados envolve a previsão do pagamento total de todas as reclamações em milhares de Kronor sueco, dado o número total de reclamações. É um dataset composto por 63 observações com 1 variável de entrada e 1 variável de saída. Os nomes das variáveis são os seguintes:\n",
    "\n",
    "1. Número de reivindicações.\n",
    "2. Pagamento total para todas as reclamações em milhares de Kronor sueco.\n",
    "\n",
    "Voce deve adicionar algumas funções acessórias à regressão linear simples. Especificamente, uma função para carregar o arquivo CSV chamado *load_csv ()*, uma função para converter um conjunto de dados carregado para números chamado *str_column_to_float ()*, uma função para avaliar um algoritmo usando um conjunto de treino e teste chamado *split_train_split ()*, a função para calcular RMSE chamado *rmse_metric ()* e uma função para avaliar um algoritmo chamado *evaluate_algorithm()*.\n",
    "\n",
    "Utilize um conjunto de dados de treinamento de 60% dos dados para preparar o modelo. As previsões devem ser feitas nos restantes 40%. \n",
    "\n",
    "Compare a performabce do seu algoritmo com o algoritmo baseline, o qual utiliza a média dos pagamentos realizados para realizar a predição ( a média é 72,251 mil Kronor).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSME para Regressao linear = 36.642878\n",
      "RSME para baseline = 89.819442\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "import numpy as np\n",
    "import csv\n",
    "from math import sqrt\n",
    "\n",
    "kronor = 72.251\n",
    "\n",
    "\n",
    "# Calculate the mean value of a list of numbers\n",
    "def mean(values):\n",
    "  return sum(values) / float(len(values))\n",
    "\n",
    "# Calculate the variance of a list of numbers\n",
    "def variance(values, mean):\n",
    "  return sum([(x-mean)**2 for x in values])\n",
    "\n",
    "# Calculate covariance between x and y\n",
    "def covariance(x, mean_x, y, mean_y):\n",
    "  covar = 0.0\n",
    "  for i in range(len(x)):\n",
    "    covar += (x[i] - mean_x) * (y[i] - mean_y)\n",
    "  return covar\n",
    "\n",
    "# Calculate coefficients\n",
    "def coefficients(dataset):\n",
    "      x = [row[0] for row in dataset]\n",
    "      y = [row[1] for row in dataset]\n",
    "      x_mean, y_mean = mean(x), mean(y)\n",
    "      b1 = covariance(x, x_mean, y, y_mean) / variance(x, x_mean)\n",
    "      b0 = y_mean - b1 * x_mean\n",
    "      return [b0, b1]\n",
    "\n",
    "def simple_linear_regression(train, test):\n",
    "  predictions = list()\n",
    "  b0, b1 = coefficients(train)\n",
    "  for row in test:\n",
    "    ypred = b0 + b1 * row[0]\n",
    "    predictions.append(ypred)\n",
    "  return predictions\n",
    "\n",
    "def baseline(train,test):\n",
    "    predictions = list()\n",
    "    for row in test:\n",
    "        predictions.append(kronor)\n",
    "    return predictions    \n",
    "\n",
    "\n",
    "# Calculate root mean squared error\n",
    "def rmse_metric(actual, predicted):\n",
    "  sum_error = 0.0\n",
    "  for i in range(len(actual)):\n",
    "    prediction_error = predicted[i] - actual[i]\n",
    "    sum_error += (prediction_error ** 2)\n",
    "  mean_error = sum_error / float(len(actual))\n",
    "  return sqrt(mean_error)\n",
    "\n",
    "\n",
    "# Evaluate regression algorithm on training dataset\n",
    "def evaluate_algorithm(dataset, algorithm):\n",
    "  test_set = list()\n",
    "  for row in dataset:\n",
    "    row_copy = list(row)\n",
    "    row_copy[-1] = None\n",
    "    test_set.append(row_copy)\n",
    "  predicted = algorithm(dataset, test_set)\n",
    "  #print(predicted)\n",
    "  actual = [row[-1] for row in dataset]\n",
    "  rmse = rmse_metric(actual, predicted)\n",
    "  return rmse\n",
    "\n",
    " \n",
    "def loadCsv(filename):\n",
    "    lines = csv.reader(open(filename, \"rU\"), dialect = \"excel\")\n",
    "    dataset = list(lines)\n",
    "    for i in range(len(dataset)):\n",
    "        dataset[i] = [float(x) for x in dataset[i]]\n",
    "    return dataset\n",
    "\n",
    "dataset_ = loadCsv('insurance.csv')\n",
    "\n",
    "train,test = train_test_split(dataset_,test_size = .4)\n",
    "\n",
    "evalLinear = evaluate_algorithm(train, simple_linear_regression)\n",
    "evalBase = evaluate_algorithm(train,baseline)\n",
    "\n",
    "print (\"RSME para Regressao linear = {:f}\".format(evalLinear))\n",
    "print (\"RSME para baseline = {:f}\".format(evalBase))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "predicted = simple_linear_regression(train,test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "train = np.array(train)\n",
    "Xtrain = train[:,0]\n",
    "Ytrain = train[:,1]\n",
    "\n",
    "test = np.array(test)\n",
    "Xtest = test[:,0]\n",
    "Ytest = test[:,1]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1611a9d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.scatter(Xtrain, Ytrain, c=\"blue\")\n",
    "plt.plot(Xtest,predicted, c=\"green\")\n",
    "plt.title(\"regressao linear para dados de teste\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAZweAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1611a910>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(Xtest, Ytest, c=\"red\")\n",
    "plt.plot(Xtest,predicted, c=\"green\")\n",
    "plt.title(\"regressao linear para dados de treino\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
